<!DOCTYPE HTML PUBLIC "-//ORA//DTD CD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> Preface</TITLE>
<META NAME="author" CONTENT="Mark Grand">
<META NAME="date" CONTENT="Thu Jul 31 13:04:39 1997">
<META NAME="form" CONTENT="html">
<META NAME="metadata" CONTENT="dublincore.0.1">
<META NAME="objecttype" CONTENT="book part">
<META NAME="otheragent" CONTENT="gmat dbtohtml">
<META NAME="publisher" CONTENT="O'Reilly &amp; Associates, Inc.">
<META NAME="source" CONTENT="SGML">
<META NAME="subject" CONTENT="java">
<META NAME="title" CONTENT="Java Language Reference">
<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">
</HEAD>
<body vlink="#551a8b" alink="#ff0000" text="#000000" bgcolor="#FFFFFF" link="#0000ee">

<DIV CLASS=htmlnav>
<H1><a href='index.htm'><IMG SRC="gifs/smbanner.gif"
     ALT="Java Language Reference" border=0></a></H1>
<table width=515 border=0 cellpadding=0 cellspacing=0>
<tr>
<td width=172 align=left valign=top>&nbsp;</td>
<td width=171 align=center valign=top><B><FONT FACE="ARIEL,HELVETICA,HELV,SANSERIF" SIZE="-1">Preface</FONT></B></TD>
<td width=172 align=right valign=top><A HREF="ch00_02.htm"><IMG SRC="gifs/txtnexta.gif" ALT="Next" border=0></A></td>
</tr>
</table>

&nbsp;
<hr align=left width=515>
</DIV>
<H1 CLASS=preface><A CLASS="TITLE" NAME="JLR2-PREFACE">Preface</A></H1>

<DIV CLASS=htmltoc>

<p>
<b>Contents:</b><br>
Audience<br>
<A HREF="ch00_02.htm">Using This Book</A><BR>
<A HREF="ch00_03.htm">Related Books</A><BR>
<A HREF="ch00_04.htm">Online Resources</A><BR>
<A HREF="ch00_05.htm">Conventions Used in This Book</A><BR>
<A HREF="ch00_06.htm">Request for Comments</A><BR>
<A HREF="ch00_07.htm">Acknowledgments</A><BR>

<p>
</DIV>

<P CLASS=para>
This book is a reference manual for the Java programming language; it
covers Version 1.1 of the Java language. It
provides a complete description of all of the constructs in the
language, so that programmers can write Java programs that function
exactly as expected. This book is not meant to teach you the Java
language, although you could probably use it for that purpose if you
are already fluent in a number of other programming languages.

<P CLASS=para>
This is an exciting time in the development of Java. Version 1.1 is a
huge new release that more than doubles the size of the core Java
APIs. Fortunately, the Java language itself contains relatively 
few changes for Java 1.1. The new features of the language are
significant, however, both in terms of the useful functionality and the
elegance they add to the language. This book covers all of the new 
language constructs in Java 1.1. Here's a quick list of the new
features:

<P>
<UL CLASS=itemizedlist>
<li CLASS=listitem>Inner classes, which include nested top-level classes and interfaces, 
member classes, local classes, and anonymous classes

<P>
<li CLASS=listitem><tt CLASS=literal>final</tt> local variables, method parameters, 
and <tt CLASS=literal>catch</tt> clause parameters

<P>
<li CLASS=listitem>Instance initializers

<P>
<li CLASS=listitem>Blank finals, or <tt CLASS=literal>final</tt> variable declarations that
do not include initializers

<P>
<li CLASS=listitem>Class literals for obtaining <tt CLASS=literal>Class</tt> objects

<P>
<li CLASS=listitem>Anonymous arrays, or arrays created and initialized without a variable 
initializer

<P>
</UL>
<DIV CLASS=sect1>
<h2 CLASS=sect1><A CLASS="TITLE" NAME="JLR2-PREFACE-SECT-1">Audience</A></h2>

<P CLASS=para>
This book is for serious Java programmers. If you are such a
programmer, you often need to know precisely how the language works in
particular situations. This reference manual provides that
information in an easy-to-use form. So, for example, if you need to
know exactly how Java selects the method to be invoked by a method
call expression, you can find a detailed explanation in this book.
Or, if you need to know precisely how the multiplication operator
behaves with floating-point data, you can find the details here.

<P CLASS=para>
However, if you are actually implementing a Java compiler, this book
is not meant for you. In some cases, we've simplified the grammar to
make it easier for programmers to understand. These simplifications
don't detract from the precision of the book; they simply omit
details that aren't important unless you are developing a Java
compiler. If you are implementing a compiler or other Java
environment, you'll want to get <i CLASS=citetitle>The Java Language
Specification</i> written by James Gosling, Bill Joy, and Guy
Steele, published by Addison-Wesley.

</DIV>


<DIV CLASS=htmlnav>

<P>
<HR align=left width=515>
<table width=515 border=0 cellpadding=0 cellspacing=0>
<tr>
<td width=172 align=left valign=top>&nbsp;</td>
<td width=171 align=center valign=top><a href="index.htm"><img src='gifs/txthome.gif' border=0 alt='Home'></a></td>
<td width=172 align=right valign=top><A HREF="ch00_02.htm"><IMG SRC="gifs/txtnexta.gif" ALT="Next" border=0></A></td>
</tr>
<tr>
<td width=172 align=left valign=top>&nbsp;</td>
<td width=171 align=center valign=top><a href="index/idx_0.htm"><img src='gifs/index.gif' alt='Book Index' border=0></a></td>
<td width=172 align=right valign=top>Using This Book</td>
</tr>
</table>
<hr align=left width=515>

<IMG SRC="gifs/smnavbar.gif" USEMAP="#map" BORDER=0> 
<MAP NAME="map"> 
<AREA SHAPE=RECT COORDS="0,0,108,15" HREF="../javanut/index.htm"
alt="Java in a Nutshell"> 
<AREA SHAPE=RECT COORDS="109,0,200,15" HREF="../langref/index.htm" 
alt="Java Language Reference"> 
<AREA SHAPE=RECT COORDS="203,0,290,15" HREF="../awt/index.htm" 
alt="Java AWT"> 
<AREA SHAPE=RECT COORDS="291,0,419,15" HREF="../fclass/index.htm" 
alt="Java Fundamental Classes"> 
<AREA SHAPE=RECT COORDS="421,0,514,15" HREF="../exp/index.htm" 
alt="Exploring Java"> 
</MAP>
</DIV>

</BODY>
</HTML>
